#include "Server.h"

int sock_server; // 服务器 套接字
int sock_client; // 客户端 套接字

// 声明函数
int tcp_server_init( in_port_t port )
{
    // 创建套接字
    /*
    AF_INET IPV4协议
    SOCK_STREAM 数据报 TCP
    */
    sock_server = socket( AF_INET ,  SOCK_STREAM , 0 );
    // 检测创建是否成功
    if(-1 == sock_server)
    {
        ERRLOG("创建套接字失败");
        return -1;
    }
    
    // 填写信息结构体
        // 使用的是 IPV4 网络信息结构体  不用使用通用信息结构体
    struct sockaddr_in server_addr;
        // 清空结构体
    memset(&server_addr , 0 , sizeof(server_addr));
        // 确定协议 选择 IPV4
    server_addr.sin_family = AF_INET;
        // 端口号
    server_addr.sin_port = htons(port);  // 端口号可以随意指定
        // IP地址
    server_addr.sin_addr.s_addr = inet_addr("0.0.0.0");


    // 绑定
    if(-1 == bind(sock_server , (struct sockaddr *)&server_addr , sizeof(server_addr)))
    {
        ERRLOG("绑定出错");
        close(sock_server);
        return -2;
    }

    // 返回服务器套接字
    return sock_server;
    
}

// int tcp_server_listen(void)
// {
    



//     // 返回客户端套接字
//     return sock_client;
// }

void tcp_server_close(void)
{
    close(sock_server);
    printf("关闭成功\n");
    return ;
}

